home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat1 / MPI.z / MPI
Encoding:
Text File  |  2002-10-03  |  76.1 KB  |  1,387 lines

  1.  
  2.  
  3.  
  4. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      MMMMPPPPIIII - Introduction to the Message Passing Interface (MPI)
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      The Message Passing Interface (MPI) is a component of the Message Passing
  13.      Toolkit (MPT), which is a software package that supports parallel
  14.      programming across a network of computer systems through a technique
  15.      known as message passing.  The goal of MPI, simply stated, is to develop
  16.      a widely used standard for writing message-passing programs. As such, the
  17.      interface establishes a practical, portable, efficient, and flexible
  18.      standard for message passing.
  19.  
  20.      This MPI implementation supports the MPI 1.2 standard, as documented by
  21.      the MPI Forum in the spring 1997 release of _M_P_I: _A _M_e_s_s_a_g_e _P_a_s_s_i_n_g
  22.      _I_n_t_e_r_f_a_c_e _S_t_a_n_d_a_r_d.  In addition, certain MPI-2 features are also
  23.      supported.  In designing MPI, the MPI Forum sought to make use of the
  24.      most attractive features of a number of existing message passing systems,
  25.      rather than selecting one of them and adopting it as the standard.  Thus,
  26.      MPI has been strongly influenced by work at the IBM T. J. Watson Research
  27.      Center, Intel's NX/2, Express, nCUBE's Vertex, p4, and PARMACS. Other
  28.      important contributions have come from Zipcode, Chimp, PVM, Chameleon,
  29.      and PICL.
  30.  
  31.      For IRIX systems, MPI requires the presence of an Array Services daemon
  32.      (aaaarrrrrrrraaaayyyydddd) on each host that is to run MPI processes. In a single-host
  33.      environment, no system administration effort should be required beyond
  34.      installing and activating aaaarrrrrrrraaaayyyydddd. However, users wishing to run MPI
  35.      applications across multiple hosts will need to ensure that those hosts
  36.      are properly configured into an array.  For more information about Array
  37.      Services, see the aaaarrrrrrrraaaayyyydddd(1M), aaaarrrrrrrraaaayyyydddd....ccccoooonnnnffff(4), and aaaarrrrrrrraaaayyyy____sssseeeerrrrvvvviiiicccceeeessss(5) man
  38.      pages.
  39.  
  40.      When running across multiple hosts, users must set up their ....rrrrhhhhoooossssttttssss files
  41.      to enable remote logins. Note that MPI does not use rrrrsssshhhh, so it is not
  42.      necessary that rrrrsssshhhhdddd be running on security-sensitive systems; the ....rrrrhhhhoooossssttttssss
  43.      file was simply chosen to eliminate the need to learn yet another
  44.      mechanism for enabling remote logins.
  45.  
  46.      Other sources of MPI information are as follows:
  47.  
  48.      *   Man pages for MPI library functions
  49.  
  50.      *   A copy of the MPI standard as PostScript or hypertext on the World
  51.          Wide Web at the following URL:
  52.  
  53.               hhhhttttttttpppp::::////////wwwwwwwwwwww....mmmmppppiiii----ffffoooorrrruuuummmm....oooorrrrgggg////
  54.  
  55.  
  56.      *   Other MPI resources on the World Wide Web, such as the following:
  57.  
  58.               hhhhttttttttpppp::::////////wwwwwwwwwwww....mmmmccccssss....aaaannnnllll....ggggoooovvvv////mmmmppppiiii////iiiinnnnddddeeeexxxx....hhhhttttmmmmllll
  59.               hhhhttttttttpppp::::////////wwwwwwwwwwww....eeeerrrrcccc....mmmmssssssssttttaaaatttteeee....eeeedddduuuu////mmmmppppiiii////iiiinnnnddddeeeexxxx....hhhhttttmmmmllll
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  71.  
  72.  
  73.  
  74.               hhhhttttttttpppp::::////////wwwwwwwwwwww....mmmmppppiiii....nnnndddd....eeeedddduuuu////llllaaaammmm////
  75.  
  76.  
  77.    GGGGeeeettttttttiiiinnnngggg SSSSttttaaaarrrrtttteeeedddd
  78.      For IRIX systems, the MMMMoooodddduuuulllleeeessss software package is available to support
  79.      one or more installations of MPT.  To use the MPT software, load the
  80.      desired mmmmpppptttt module.
  81.  
  82.      After you have initialized modules, enter the following command:
  83.  
  84.           mmmmoooodddduuuulllleeee llllooooaaaadddd mmmmpppptttt
  85.  
  86.  
  87.      To unload the mmmmpppptttt module, enter the following command:
  88.  
  89.           mmmmoooodddduuuulllleeee uuuunnnnllllooooaaaadddd mmmmpppptttt
  90.  
  91.  
  92.      MPT software can be installed in an alternate location for use with the
  93.      modules software package.  If MPT software has been installed on your
  94.      system for use with modules, you can access the software with the mmmmoooodddduuuulllleeee
  95.      command shown in the previous example.  If MPT has not been installed for
  96.      use with modules, the software resides in default locations on your
  97.      system (////uuuussssrrrr////iiiinnnncccclllluuuuddddeeee, ////uuuussssrrrr////lllliiiibbbb, /usr/array/PVM, and so on), as in
  98.      previous releases.  For further information, see IIIInnnnssssttttaaaalllllllliiiinnnngggg MMMMPPPPTTTT ffffoooorrrr UUUUsssseeee
  99.      wwwwiiiitttthhhh MMMMoooodddduuuulllleeeessss, in the Modules relnotes.
  100.  
  101.  
  102.    UUUUssssiiiinnnngggg MMMMPPPPIIII
  103.      Compile and link your MPI program as shown in the following examples.
  104.  
  105.      IRIX systems:
  106.  
  107.      To use the 64-bit MPI library, choose one of the following commands:
  108.  
  109.           cccccccc ----66664444 ccccoooommmmppppuuuutttteeee....cccc ----llllmmmmppppiiii
  110.           ffff77777777 ----66664444 ----LLLLAAAANNNNGGGG::::rrrreeeeccccuuuurrrrssssiiiivvvveeee====oooonnnn ccccoooommmmppppuuuutttteeee....ffff ----llllmmmmppppiiii
  111.           ffff99990000 ----66664444 ----LLLLAAAANNNNGGGG::::rrrreeeeccccuuuurrrrssssiiiivvvveeee====oooonnnn ccccoooommmmppppuuuutttteeee....ffff ----llllmmmmppppiiii
  112.           CCCCCCCC ----66664444 ccccoooommmmppppuuuutttteeee....CCCC ----llllmmmmppppiiii++++++++ ----llllmmmmppppiiii
  113.  
  114.  
  115.      To use the 32-bit MPI library, choose one of the following commands:
  116.  
  117.           cccccccc ----nnnn33332222 ccccoooommmmppppuuuutttteeee....cccc ----llllmmmmppppiiii
  118.           ffff77777777 ----nnnn33332222 ----LLLLAAAANNNNGGGG::::rrrreeeeccccuuuurrrrssssiiiivvvveeee====oooonnnn ccccoooommmmppppuuuutttteeee....ffff ----llllmmmmppppiiii
  119.           ffff99990000 ----nnnn33332222 ----LLLLAAAANNNNGGGG::::rrrreeeeccccuuuurrrrssssiiiivvvveeee====oooonnnn ccccoooommmmppppuuuutttteeee....ffff ----llllmmmmppppiiii
  120.           CCCCCCCC ----nnnn33332222 ccccoooommmmppppuuuutttteeee....CCCC ----llllmmmmppppiiii++++++++ ----llllmmmmppppiiii
  121.  
  122.  
  123.      Linux systems:
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  137.  
  138.  
  139.  
  140.      To use the 64-bit MPI library on Linux IA64 systems, choose one of the
  141.      following commands:
  142.  
  143.           gggg++++++++ ----oooo mmmmyyyypppprrrroooogggg mmmmyyyypppprrrroooocccc....CCCC ----llllmmmmppppiiii++++++++ ----llllmmmmppppiiii
  144.           ggggcccccccc ----oooo mmmmyyyypppprrrroooogggg mmmmyyyypppprrrroooogggg....cccc ----llllmmmmppppiiii
  145.  
  146.  
  147.      For IRIX systems, if Fortran 90 compiler 7.2.1 or higher is installed,
  148.      you can add the ----aaaauuuuttttoooo____uuuusssseeee option as follows to get compile-time checking
  149.      of MPI subroutine calls:
  150.  
  151.           ffff99990000 ----aaaauuuuttttoooo____uuuusssseeee mmmmppppiiii____iiiinnnntttteeeerrrrffffaaaacccceeee ----66664444 ccccoooommmmppppuuuutttteeee....ffff ----llllmmmmppppiiii
  152.           ffff99990000 ----aaaauuuuttttoooo____uuuusssseeee mmmmppppiiii____iiiinnnntttteeeerrrrffffaaaacccceeee ----nnnn33332222 ccccoooommmmppppuuuutttteeee....ffff ----llllmmmmppppiiii
  153.  
  154.  
  155.      For IRIX with MPT version 1.4 or higher, the Fortran 90 UUUUSSSSEEEE MMMMPPPPIIII feature
  156.      is supported.  You can replace the iiiinnnncccclllluuuuddddeeee ''''mmmmppppiiiiffff....hhhh'''' statement in your
  157.      Fortran 90 source code with UUUUSSSSEEEE MMMMPPPPIIII.  This facility includes MPI type and
  158.      parameter definitions, and performs compile-time checking of MPI function
  159.      and subroutine calls.
  160.  
  161.      NOTE:  Do not use the Fortran 90 ----aaaauuuuttttoooo____uuuusssseeee mmmmppppiiii____iiiinnnntttteeeerrrrffffaaaacccceeee option to
  162.      compile IRIX Fortran 90 source code that contains the UUUUSSSSEEEE MMMMPPPPIIII statement.
  163.      They are incompatible with each other.
  164.  
  165.      For IRIX systems, applications compiled under a previous release of MPI
  166.      should not require recompilation to run under this new (3.3) release.
  167.      However, it is not possible for executable files running under the 3.2
  168.      release to interoperate with others running under the 3.3 release.
  169.  
  170.      The C version of the MMMMPPPPIIII____IIIInnnniiiitttt(3) routine ignores the arguments that are
  171.      passed to it and does not modify them.
  172.  
  173.      SSSSttttddddiiiinnnn is enabled only for those MPI processes with rank 0 in the first
  174.      MMMMPPPPIIII____CCCCOOOOMMMMMMMM____WWWWOOOORRRRLLLLDDDD (which does not need to be located on the same host as
  175.      mmmmppppiiiirrrruuuunnnn).  SSSSttttddddoooouuuutttt and ssssttttddddeeeerrrrrrrr results are enabled for all MPI processes in
  176.      the job, whether launched via mmmmppppiiiirrrruuuunnnn, or one of the MPI-2 spawn
  177.      functions.
  178.  
  179.  
  180.      This version of the IRIX MPI implementation is compatible with the sssspppprrrroooocccc
  181.      system call and can therefore coexist with ddddooooaaaaccccrrrroooossssssss loops.  However, on
  182.      Linux systems, the MPI library is not thread safe. Therefore, calls to
  183.      MPI routines in a multithreaded application will require some form of
  184.      mutual exclusion.  The MMMMPPPPIIII____IIIInnnniiiitttt____tttthhhhrrrreeeeaaaadddd call can be used to request thread
  185.      safety.
  186.  
  187.      For IRIX and Linux systems, this implementation of MPI requires that all
  188.      MPI processes call MMMMPPPPIIII____FFFFiiiinnnnaaaalllliiiizzzzeeee eventually.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  203.  
  204.  
  205.  
  206.    BBBBuuuuffffffffeeeerrrriiiinnnngggg
  207.      For IRIX systems, the current implementation buffers messages unless the
  208.      message from the sending process resides in the symmetric data, symmetric
  209.      heap, or global heap segment.  Buffered messages are grouped into two
  210.      classes based on length: short (messages with lengths of 64 bytes or
  211.      less) and long (messages with lengths greater than 64 bytes).
  212.  
  213.      For more information on using the symmetric data, symmetric heap, or
  214.      global heap, see the MPI_BUFFER_MAX environment variable.
  215.  
  216.  
  217.    MMMMyyyyrrrriiiinnnneeeetttt ((((GGGGMMMM)))) SSSSuuuuppppppppoooorrrrtttt
  218.      This release provides support for use of the GM protocol over Myrinet
  219.      interconnects on IRIX systems. Support is currently limited to 64-bit
  220.      applications.
  221.  
  222.  
  223.    UUUUssssiiiinnnngggg MMMMPPPPIIII wwwwiiiitttthhhh ccccppppuuuusssseeeettttssss
  224.      You can use cpusets to run MPI applications (see ccccppppuuuusssseeeetttt(4)).  However, it
  225.      is highly recommended that the cpuset have the MMMMEEEEMMMMOOOORRRRYYYY____LLLLOOOOCCCCAAAALLLL attribute.
  226.      On Origin systems, if this attribute is not used, you should disable NUMA
  227.      optimizations (see the MMMMPPPPIIII____DDDDSSSSMMMM____OOOOFFFFFFFF environment variable description in
  228.      the following section).
  229.  
  230.  
  231.    DDDDeeeeffffaaaauuuulllltttt IIIInnnntttteeeerrrrccccoooonnnnnnnneeeecccctttt SSSSeeeelllleeeeccccttttiiiioooonnnn
  232.      Beginning with the MPT 1.6 release, the search algorithm for selecting a
  233.      multi-host interconnect has been significantly modified.  By default, if
  234.      MPI is being run across multiple hosts, or if multiple binaries are
  235.      specified on the mmmmppppiiiirrrruuuunnnn command, the software now searches for
  236.      interconnects in the following order (for IRIX systems):
  237.  
  238.           1) XPMEM (NUMAlink - only available on partitioned systems)
  239.           2) GSN
  240.           3) MYRINET
  241.           4) HIPPI 800
  242.           5) TCP/IP
  243.  
  244.      The only supported interconnect on Linux systems is TCP/IP.
  245.  
  246.      MPI uses the first interconnect it can detect and configure correctly.
  247.      There will only be one interconnect configured for the entire MPI job,
  248.      with the exception of XPMEM.  If XPMEM is found on some hosts, but not on
  249.      others, one additional interconnect is selected.
  250.  
  251.      The user can specify a mandatory interconnect to use by setting one of
  252.      the following new environment variables.  These variables will be
  253.      assessed in the following order:
  254.  
  255.           1) MPI_USE_XPMEM
  256.           2) MPI_USE_GSN
  257.           3) MPI_USE_GM
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  269.  
  270.  
  271.  
  272.           4) MPI_USE_HIPPI
  273.           5) MPI_USE_TCP
  274.  
  275.      For a mandatory interconnect to be used, all of the hosts on the mmmmppppiiiirrrruuuunnnn
  276.      command line must be connected via the device, and the interconnect must
  277.      be configured properly.  If this is not the case, an error message is
  278.      printed to stdout and the job is terminated.  XPMEM is an exception to
  279.      this rule, however.
  280.  
  281.      If MMMMPPPPIIII____UUUUSSSSEEEE____XXXXPPPPMMMMEEEEMMMM is set, one additional interconnect can be selected via
  282.      the MMMMPPPPIIII____UUUUSSSSEEEE variables.  Messaging between the partitioned hosts will use
  283.      the XPMEM driver while messaging between non-partitioned hosts will use
  284.      the second interconnect.  If a second interconnect is required but not
  285.      selected by the user, MPI will choose the interconnect to use, based on
  286.      the default hierarchy.
  287.  
  288.      If the global ----vvvv verbose option is used on the mmmmppppiiiirrrruuuunnnn command line, a
  289.      message is printed to stdout, indicating which multi-host interconnect is
  290.      being used for the job.
  291.  
  292.      The following interconnect selection environment variables have been
  293.      deprecated in the MPT 1.6 release: MMMMPPPPIIII____GGGGSSSSNNNN____OOOONNNN, MMMMPPPPIIII____GGGGMMMM____OOOONNNN, and
  294.      MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____OOOOFFFFFFFF.  If any of these variables are set, MPI prints a warning
  295.      message to stdout. The meanings of these variables are ignored.
  296.  
  297.  
  298.    UUUUssssiiiinnnngggg MMMMPPPPIIII----2222 PPPPrrrroooocccceeeessssssss CCCCrrrreeeeaaaattttiiiioooonnnn aaaannnndddd MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt RRRRoooouuuuttttiiiinnnneeeessss
  299.      This release provides support for MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn and
  300.      MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn____mmmmuuuullllttttiiiipppplllleeee on IRIX systems.  However, options must be
  301.      included on the mmmmppppiiiirrrruuuunnnn command line to enable this feature.  When these
  302.      options are present on the mmmmppppiiiirrrruuuunnnn command line, the MMMMPPPPIIII job is running in
  303.      ssssppppaaaawwwwnnnn ccccaaaappppaaaabbbblllleeee mode.  In this release, these spawn features are only
  304.      available for jobs confined to a single IRIX host.
  305.  
  306.  
  307. EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS
  308.      This section describes the variables that specify the environment under
  309.      which your MPI programs will run. Unless otherwise specified, these
  310.      variables are available for both Linux and IRIX systems.  Environment
  311.      variables have predefined values.  You can change some variables to
  312.      achieve particular performance objectives; others are required values for
  313.      standard-compliant programs.
  314.  
  315.      MMMMPPPPIIII____AAAARRRRRRRRAAAAYYYY (IRIX systems only)
  316.           Sets an alternative array name to be used for communicating with
  317.           Array Services when a job is being launched.
  318.  
  319.           Default:  The default name set in the aaaarrrrrrrraaaayyyydddd....ccccoooonnnnffff file
  320.  
  321.      MMMMPPPPIIII____BBBBAAAARRRR____CCCCOOOOUUUUNNNNTTTTEEEERRRR (IRIX systems only)
  322.           Specifies the use of a simple counter barrier algorithm within the
  323.           MMMMPPPPIIII____BBBBaaaarrrrrrrriiiieeeerrrr(3) and MMMMPPPPIIII____WWWWiiiinnnn____ffffeeeennnncccceeee(3) functions.
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  335.  
  336.  
  337.  
  338.           Default:  Not enabled if job contains more than 64 PEs.
  339.  
  340.      MMMMPPPPIIII____BBBBAAAARRRR____DDDDIIIISSSSSSSSEEEEMMMM (IRIX systems only)
  341.           Specifies the use of the alternate barrier algorithm, the
  342.           dissemination/butterfly, within the MMMMPPPPIIII____BBBBaaaarrrrrrrriiiieeeerrrr(3) and
  343.           MMMMPPPPIIII____WWWWiiiinnnn____ffffeeeennnncccceeee(3) functions. This alternate algorithm provides better
  344.           performance on jobs with larger PE counts.  The MMMMPPPPIIII____BBBBAAAARRRR____DDDDIIIISSSSSSSSEEEEMMMM
  345.           option is recommended for jobs with PE counts of 64 or higher.
  346.  
  347.           Default:  Disabled if job contains less than 64 PEs; otherwise,
  348.           enabled.
  349.  
  350.      MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX (IRIX systems only)
  351.           Specifies a minimum message size, in bytes, for which the message
  352.           will be considered a candidate for single-copy transfer. Currently,
  353.           this mechanism is available only for communication between MPI
  354.           processes on the same host. The sender data must reside in either
  355.           the symmetric data, symmetric heap, or global heap. The MPI data
  356.           type on the send side must also be a contiguous type.
  357.  
  358.           If the XPMEM driver is enabled (for single host jobs, see
  359.           MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____OOOONNNN and for multihost jobs, see MMMMPPPPIIII____UUUUSSSSEEEE____XXXXPPPPMMMMEEEEMMMM), MPI allows
  360.           single-copy transfers for basic predefined MPI data types from any
  361.           sender data location, including the stack and private heap.  The
  362.           XPMEM driver also allows single-copy transfers across partitions.
  363.  
  364.           If cross mapping of data segments is enabled at job startup, data in
  365.           common blocks will reside in the symmetric data segment.  On systems
  366.           running IRIX 6.5.2 or higher, this feature is enabled by default.
  367.           You can employ the symmetric heap by using the sssshhhhmmmmaaaalllllllloooocccc(sssshhhhppppaaaalllllllloooocccc)
  368.           functions available in LIBSMA.
  369.  
  370.           Testing of this feature has indicated that most MPI applications
  371.           benefit more from buffering of medium-sized messages than from
  372.           buffering of large size messages, even though buffering of medium-
  373.           sized messages requires an extra copy of data.  However, highly
  374.           synchronized applications that perform large message transfers can
  375.           benefit from the single-copy pathway.
  376.  
  377.           Default:  Not enabled
  378.  
  379.      MMMMPPPPIIII____BBBBUUUUFFFFSSSS____PPPPEEEERRRR____HHHHOOOOSSSSTTTT
  380.           Determines the number of shared message buffers (16 KB each) that
  381.           MPI is to allocate for each host.  These buffers are used to send
  382.           long messages and interhost messages.
  383.  
  384.           Default:  32 pages (1 page = 16KB)
  385.  
  386.      MMMMPPPPIIII____BBBBUUUUFFFFSSSS____PPPPEEEERRRR____PPPPRRRROOOOCCCC
  387.           Determines the number of private message buffers (16 KB each) that
  388.           MPI is to allocate for each process.  These buffers are used to send
  389.           long messages and intrahost messages.
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  401.  
  402.  
  403.  
  404.           Default:  32 pages (1 page = 16KB)
  405.  
  406.      MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____CCCCRRRRCCCC (IRIX systems only)
  407.           Adds a checksum to each long message sent via HiPPI bypass.  If the
  408.           checksum does not match the data received, the job is terminated.
  409.           Use of this environment variable might degrade performance.
  410.  
  411.           Default:  Not set
  412.  
  413.      MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____DDDDEEEEVVVV____SSSSEEEELLLLEEEECCCCTTTTIIIIOOOONNNN (IRIX systems only)
  414.           Specifies the algorithm MPI is to use for sending messages over
  415.           multiple HIPPI adapters.  Set this variable to one of the following
  416.           values:
  417.  
  418.                VVVVaaaalllluuuueeee          AAAAccccttttiiiioooonnnn
  419.  
  420.                0000              Static device selection. In this case, a process
  421.                               is assigned a HIPPI device to use for
  422.                               communication with processes on another host.
  423.                               The process uses only this HIPPI device to
  424.                               communicate with another host. This algorithm
  425.                               has been observed to be effective when interhost
  426.                               communication patterns are dominated by large
  427.                               messages (significantly more than 16K bytes).
  428.  
  429.                1111              Dynamic device selection. In this case, a
  430.                               process can select from any of the devices
  431.                               available for communication between any given
  432.                               pair of hosts. The first device that is not
  433.                               being used by another process is selected. This
  434.                               algorithm has been found to work best for
  435.                               applications in which multiple processes are
  436.                               trying to send medium-sized messages (16K or
  437.                               fewer bytes) between processes on different
  438.                               hosts. Large messages (more than 16K bytes) are
  439.                               split into chunks of 16K bytes. Different chunks
  440.                               can be sent over different HIPPI devices.
  441.  
  442.                2222              Round robin device selection. In this case, each
  443.                               process sends successive messages over a
  444.                               different HIPPI 800 device.
  445.  
  446.                               Default:  1
  447.  
  448.      MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____DDDDEEEEVVVVSSSS (IRIX systems only)
  449.           Sets the order for opening HiPPI adapters. The list of devices does
  450.           not need to be space-delimited (0123 is valid).  A maximum of 16
  451.           adapters are supported on a single host.  To reference adapters 10
  452.           through 15, use the letters a through f or A through F,
  453.           respectively.
  454.  
  455.           An array node usually has at least one HiPPI adapter, the interface
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  467.  
  468.  
  469.  
  470.           to the HiPPI network.  The HiPPI bypass is a lower software layer
  471.           that interfaces directly to this adapter.
  472.  
  473.           When you know that a system has multiple HiPPI adapters, you can use
  474.           the MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____DDDDEEEEVVVVSSSS variable to specify the adapter that a program
  475.           opens first. This variable can be used to ensure that multiple MPI
  476.           programs distribute their traffic across the available adapters.  If
  477.           you prefer not to use the HiPPI bypass, you can turn it off by
  478.           setting the MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____OOOOFFFFFFFF variable.
  479.  
  480.           When a HiPPI adapter reaches its maximum capacity of four MPI
  481.           programs, it is not available to additional MPI programs. If all
  482.           HiPPI adapters are busy, MPI sends internode messages by using TCP
  483.           over the adapter instead of the bypass.
  484.  
  485.           Default:  MPI will use all available HiPPI devices
  486.  
  487.      MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____SSSSIIIINNNNGGGGLLLLEEEE (IRIX systems only)
  488.           Allows MPI messages to be sent over multiple HiPPI connections if
  489.           multiple connections are available.  The HiPPI OS bypass multiboard
  490.           feature is enabled by default.  This environment variable disables
  491.           it.  When you set this variable, MPI operates as it did in previous
  492.           releases, with use of a single HiPPI adapter connection, if
  493.           available.
  494.  
  495.           Default:  Not enabled
  496.  
  497.      MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____VVVVEEEERRRRBBBBOOOOSSSSEEEE (IRIX systems only)
  498.           Allows additional MPI initialization information to be printed in
  499.           the standard output stream.  This information contains details about
  500.           the HiPPI OS bypass connections and the HiPPI adapters that are
  501.           detected on each of the hosts.
  502.  
  503.           Default:  Not enabled
  504.  
  505.      MMMMPPPPIIII____CCCCHHHHEEEECCCCKKKK____AAAARRRRGGGGSSSS
  506.           Enables checking of MPI function arguments. Segmentation faults
  507.           might occur if bad arguments are passed to MPI, so this is useful
  508.           for debugging purposes.  Using argument checking adds several
  509.           microseconds to latency.
  510.  
  511.           Default:  Not enabled
  512.  
  513.      MMMMPPPPIIII____CCCCOOOOMMMMMMMM____MMMMAAAAXXXX
  514.           Sets the maximum number of communicators that can be used in an MPI
  515.           program.  Use this variable to increase internal default limits.
  516.           (Might be required by standard-compliant programs.)  MPI generates
  517.           an error message if this limit (or the default, if not set) is
  518.           exceeded.
  519.  
  520.           Default:  256
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  533.  
  534.  
  535.  
  536.      MMMMPPPPIIII____DDDDIIIIRRRR
  537.           Sets the working directory on a host. When an mmmmppppiiiirrrruuuunnnn(1) command is
  538.           issued, the Array Services daemon on the local or distributed node
  539.           responds by creating a user session and starting the required MPI
  540.           processes. The user ID for the session is that of the user who
  541.           invokes mmmmppppiiiirrrruuuunnnn, so this user must be listed in the ....rrrrhhhhoooossssttttssss file on
  542.           the corresponding nodes. By default, the working directory for the
  543.           session is the user's $$$$HHHHOOOOMMMMEEEE directory on each node. You can direct
  544.           all nodes to a different directory (an NFS directory that is
  545.           available to all nodes, for example) by setting the MMMMPPPPIIII____DDDDIIIIRRRR variable
  546.           to a different directory.
  547.  
  548.           Default:  $$$$HHHHOOOOMMMMEEEE on the node. If using the ----nnnnpppp or ----nnnntttt option of
  549.           mmmmppppiiiirrrruuuunnnn(1), the default is the current directory.
  550.  
  551.      MMMMPPPPIIII____DDDDPPPPLLLLAAAACCCCEEEE____IIIINNNNTTTTEEEERRRROOOOPPPP____OOOOFFFFFFFF (IRIX systems only)
  552.           Disables an MPI/dplace interoperability feature available beginning
  553.           with IRIX 6.5.13.  By setting this variable, you can obtain the
  554.           behavior of MPI with dplace on older releases of IRIX.
  555.  
  556.           Default:  Not enabled
  557.  
  558.      MMMMPPPPIIII____DDDDSSSSMMMM____CCCCPPPPUUUULLLLIIIISSSSTTTT (IRIX systems only)
  559.           Specifies a list of CPUs on which to run an MPI application.  To
  560.           ensure that processes are linked to CPUs, this variable should be
  561.           used in conjunction with the MMMMPPPPIIII____DDDDSSSSMMMM____MMMMUUUUSSSSTTTTRRRRUUUUNNNN variable. For an
  562.           explanation of the syntax for this environment variable, see the
  563.           section titled "Using a CPU List."
  564.  
  565.      MMMMPPPPIIII____DDDDSSSSMMMM____MMMMUUUUSSSSTTTTRRRRUUUUNNNN (IRIX systems only)
  566.           Enforces memory locality for MPI processes.  Use of this feature
  567.           ensures that each MPI process will get a CPU and physical memory on
  568.           the node to which it was originally assigned.  This variable has
  569.           been observed to improve program performance on IRIX systems running
  570.           release 6.5.7 and earlier, when running a program on a quiet system.
  571.           With later IRIX releases, under certain circumstances, setting this
  572.           variable is not necessary. Internally, this feature directs the
  573.           library to use the pppprrrroooocccceeeessssssss____ccccppppuuuulllliiiinnnnkkkk(3) function instead of
  574.           pppprrrroooocccceeeessssssss____mmmmllllddddlllliiiinnnnkkkk(3) to control memory placement.
  575.  
  576.           MMMMPPPPIIII____DDDDSSSSMMMM____MMMMUUUUSSSSTTTTRRRRUUUUNNNN should not be used when the job is submitted to
  577.           miser (see mmmmiiiisssseeeerrrr____ssssuuuubbbbmmmmiiiitttt(1)) because program hangs may result.
  578.  
  579.           The pppprrrroooocccceeeessssssss____ccccppppuuuulllliiiinnnnkkkk(3) function is inherited across process ffffoooorrrrkkkk(2)
  580.           or sssspppprrrroooocccc(2).  For this reason, when using mixed MPI/OpenMP
  581.           applications, it is recommended either that this variable not be
  582.           set, or that ____DDDDSSSSMMMM____MMMMUUUUSSSSTTTTRRRRUUUUNNNN also be set (see ppppeeee____eeeennnnvvvviiiirrrroooonnnn(5)).
  583.  
  584.           Default:  Not enabled
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  599.  
  600.  
  601.  
  602.      MMMMPPPPIIII____DDDDSSSSMMMM____OOOOFFFFFFFF (IRIX systems only)
  603.           Turns off nonuniform memory access (NUMA) optimization in the MPI
  604.           library.
  605.  
  606.           Default:  Not enabled
  607.  
  608.      MMMMPPPPIIII____DDDDSSSSMMMM____PPPPLLLLAAAACCCCEEEEMMMMEEEENNNNTTTT (IRIX systems only)
  609.           Specifies the default placement policy to be used for the stack and
  610.           data segments of an MPI process.  Set this variable to one of the
  611.           following values:
  612.  
  613.                VVVVaaaalllluuuueeee          AAAAccccttttiiiioooonnnn
  614.  
  615.                ffffiiiirrrrssssttttttttoooouuuucccchhhh     With this policy, IRIX attempts to satisfy
  616.                               requests for new memory pages for stack, data,
  617.                               and heap memory on the node where the requesting
  618.                               process is currently scheduled.
  619.  
  620.                ffffiiiixxxxeeeedddd          With this policy, IRIX attempts to satisfy
  621.                               requests for new memory pages for stack, data,
  622.                               and heap memory on the node associated with the
  623.                               memory locality domain (mld) with which an MPI
  624.                               process was linked at job startup. This is the
  625.                               default policy for MPI processes.
  626.  
  627.                rrrroooouuuunnnnddddrrrroooobbbbiiiinnnn     With this policy, IRIX attempts to satisfy
  628.                               requests for new memory pages in a round robin
  629.                               fashion across all of the nodes associated with
  630.                               the MPI job. It is generally not recommended to
  631.                               use this setting.
  632.  
  633.                tttthhhhrrrreeeeaaaaddddrrrroooouuuunnnnddddrrrroooobbbbiiiinnnn
  634.                               This policy is intended for use with hybrid
  635.                               MPI/OpenMP applications only. With this policy,
  636.                               IRIX attempts to satisfy requests for new memory
  637.                               pages for the MPI process stack, data, and heap
  638.                               memory in a roundrobin fashion across the nodes
  639.                               allocated to its OpenMP threads. This placement
  640.                               option might be helpful for large OpenMP/MPI
  641.                               process ratios.  For non-OpenMP applications,
  642.                               this value is ignored.
  643.  
  644.           Default:  ffffiiiixxxxeeeedddd
  645.  
  646.      MMMMPPPPIIII____DDDDSSSSMMMM____PPPPPPPPMMMM (IRIX systems only)
  647.           Sets the number of MPI processes per memory locality domain (mld).
  648.           For Origin 2000 systems, values of 1 or 2 are allowed. For Origin
  649.           3000 and Origin 300 systems, values of 1, 2, or 4 are allowed.
  650.  
  651.           Default:  Origin 2000 systems, 2; Origin 3000 and Origin 300
  652.           systems, 4.
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  665.  
  666.  
  667.  
  668.      MMMMPPPPIIII____DDDDSSSSMMMM____TTTTOOOOPPPPOOOOLLLLOOOOGGGGYYYY (IRIX systems only)
  669.           Specifies the shape of the set of hardware nodes on which the PE
  670.           memories are allocated.  Set this variable to one of the following
  671.           values:
  672.  
  673.                VVVVaaaalllluuuueeee          AAAAccccttttiiiioooonnnn
  674.  
  675.                ccccuuuubbbbeeee           A group of memory nodes that form a perfect
  676.                               hypercube.  The number of processes per host
  677.                               must be a power of 2.  If a perfect hypercube is
  678.                               unavailable, a less restrictive placement will
  679.                               be used.
  680.  
  681.                ccccuuuubbbbeeee____ffffiiiixxxxeeeedddd     A group of memory nodes that form a perfect
  682.                               hypercube.  The number of processes per host
  683.                               must be a power of 2.  If a perfect hypercube is
  684.                               unavailable, the placement will fail, disabling
  685.                               NUMA placement.
  686.  
  687.                ccccppppuuuucccclllluuuusssstttteeeerrrr     Any group of memory nodes.  The operating system
  688.                               attempts to place the group numbers close to one
  689.                               another, taking into account nodes with disabled
  690.                               processors.  (Default for Irix 6.5.11 and
  691.                               higher).
  692.  
  693.                ffffrrrreeeeeeee           Any group of memory nodes.  The operating system
  694.                               attempts to place the group numbers close to one
  695.                               another.  (Default for Irix 6.5.10 and earler
  696.                               releases).
  697.  
  698.      MMMMPPPPIIII____DDDDSSSSMMMM____VVVVEEEERRRRBBBBOOOOSSSSEEEE (IRIX systems only)
  699.           Instructs mmmmppppiiiirrrruuuunnnn(1) to print information about process placement for
  700.           jobs running on nonuniform memory access (NUMA) machines (unless
  701.           MMMMPPPPIIII____DDDDSSSSMMMM____OOOOFFFFFFFF is also set). Output is sent to ssssttttddddeeeerrrrrrrr.
  702.  
  703.           Default:  Not enabled
  704.  
  705.      MMMMPPPPIIII____DDDDSSSSMMMM____VVVVEEEERRRRIIIIFFFFYYYY (IRIX systems only)
  706.           Instructs mmmmppppiiiirrrruuuunnnn(1) to run some diagnostic checks on proper memory
  707.           placement of MPI data structures at job startup. If errors are
  708.           found, a diagnostic message is printed to ssssttttddddeeeerrrrrrrr.
  709.  
  710.           Default:  Not enabled
  711.  
  712.      MMMMPPPPIIII____GGGGMMMM____DDDDEEEEVVVVSSSS (IRIX systems only)
  713.           Sets the order for opening GM(Myrinet) adapters. The list of devices
  714.           does not need to be space-delimited (0321 is valid).  The syntax is
  715.           the same as for the MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____DDDDEEEEVVVVSSSS environment variable.  In this
  716.           release, a maximum of 8 adpaters are supported on a single host.
  717.  
  718.           Default:  MPI will use all available GM(Myrinet) devices.
  719.  
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  731.  
  732.  
  733.  
  734.      MMMMPPPPIIII____GGGGMMMM____VVVVEEEERRRRBBBBOOOOSSSSEEEE
  735.           Setting this variable allows some diagnostic information concerning
  736.           messaging between processes using GM (Myrinet) to be displayed on
  737.           stderr.
  738.  
  739.           Default:  Not enabled
  740.  
  741.      MMMMPPPPIIII____GGGGRRRROOOOUUUUPPPP____MMMMAAAAXXXX
  742.           Determines the maximum number of groups that can simultaneously
  743.           exist for any single MPI process.  Use this variable to increase
  744.           internal default limits. (This variable might be required by
  745.           standard-compliant programs.)  MPI generates an error message if
  746.           this limit (or the default, if not set) is exceeded.
  747.  
  748.           Default:  32
  749.  
  750.      MMMMPPPPIIII____GGGGSSSSNNNN____DDDDEEEEVVVVSSSS (IRIX 6.5.12 systems or later)
  751.           Sets the order for opening GSN adapters. The list of devices does
  752.           not need to be quoted or space-delimited (0123 is valid).
  753.  
  754.           Default:  MPI will use all available GSN devices
  755.  
  756.      MMMMPPPPIIII____GGGGSSSSNNNN____VVVVEEEERRRRBBBBOOOOSSSSEEEE (IRIX 6.5.12 systems or later)
  757.           Allows additional MPI initialization information to be printed in
  758.           the standard output stream. This information contains details about
  759.           the GSN (ST protocol) OS bypass connections and the GSN adapters
  760.           that are detected on each of the hosts.
  761.  
  762.           Default:  Not enabled
  763.  
  764.      MMMMPPPPIIII____MMMMSSSSGGGG____RRRREEEETTTTRRRRIIIIEEEESSSS
  765.           Specifies the number of times the MPI library will try to get a
  766.           message header, if none are available.  Each MPI message that is
  767.           sent requires an initial message header.  If one is not available
  768.           after MMMMPPPPIIII____MMMMSSSSGGGG____RRRREEEETTTTRRRRIIIIEEEESSSS, the job will abort.
  769.  
  770.           Note that this variable no longer applies to processes on the same
  771.           host, or when using the GM (Myrinet) protocol. In these cases,
  772.           message headers are allocated dynamically on an as-needed basis.
  773.  
  774.           Default:  500
  775.  
  776.      MMMMPPPPIIII____MMMMSSSSGGGGSSSS____MMMMAAAAXXXX
  777.           This variable can be set to control the total number of message
  778.           headers that can be allocated.  This allocation applies to messages
  779.           exchanged between processes on a single host, or between processes
  780.           on different hosts when using the GM(Myrinet) OS bypass protocol.
  781.           Note that the initial allocation of memory for message headers is
  782.           128 Kbytes.
  783.  
  784.           Default:  Allow up to 64 Mbytes to be allocated for message headers.
  785.           If you set this variable, specify the maximum number of message
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  797.  
  798.  
  799.  
  800.           headers.
  801.  
  802.      MMMMPPPPIIII____MMMMSSSSGGGGSSSS____PPPPEEEERRRR____HHHHOOOOSSSSTTTT
  803.           Sets the number of message headers to allocate for MPI messages on
  804.           each MPI host. Space for messages that are destined for a process on
  805.           a different host is allocated as shared memory on the host on which
  806.           the sending processes are located. MPI locks these pages in memory.
  807.           Use the MMMMPPPPIIII____MMMMSSSSGGGGSSSS____PPPPEEEERRRR____HHHHOOOOSSSSTTTT variable to allocate buffer space for
  808.           interhost messages.
  809.  
  810.           Caution:  If you set the memory pool for interhost packets to a
  811.           large value, you can cause allocation of so much locked memory that
  812.           total system performance is degraded.
  813.  
  814.           The previous description does not apply to processes that use the
  815.           GM(Myrinet) OS bypass protocol. In this case, message headers are
  816.           allocated dynamically as needed. See the MMMMPPPPIIII____MMMMSSSSGGGGSSSS____MMMMAAAAXXXX variable
  817.           description.
  818.  
  819.           Default:  1024 messages
  820.  
  821.      MMMMPPPPIIII____MMMMSSSSGGGGSSSS____PPPPEEEERRRR____PPPPRRRROOOOCCCC
  822.           This variable is effectively obsolete. Message headers are now
  823.           allocated on an as needed basis for messaging either between
  824.           processes on the same host, or between processes on different hosts
  825.           when using the GM (Myrinet) OS bypass protocol.  The new
  826.           MMMMPPPPIIII____MMMMSSSSGGGGSSSS____MMMMAAAAXXXX variable can be used to control the total number of
  827.           message headers that can be allocated.
  828.  
  829.           Default:  1024
  830.  
  831.      MMMMPPPPIIII____OOOOPPPPEEEENNNNMMMMPPPP____IIIINNNNTTTTEEEERRRROOOOPPPP (IRIX systems only)
  832.           Setting this variable modifies the placement of MPI processes to
  833.           better accomodate the OpenMP threads associated with each process.
  834.           For more information, see the section titled UUUUssssiiiinnnngggg MMMMPPPPIIII wwwwiiiitttthhhh OOOOppppeeeennnnMMMMPPPP.
  835.  
  836.           NOTE: This option is available only on Origin 300 and Origin 3000
  837.           servers.
  838.  
  839.           Default:  Not enabled
  840.  
  841.      MMMMPPPPIIII____RRRREEEEQQQQUUUUEEEESSSSTTTT____MMMMAAAAXXXX
  842.           Determines the maximum number of nonblocking sends and receives that
  843.           can simultaneously exist for any single MPI process.  Use this
  844.           variable to increase internal default limits.  (This variable might
  845.           be required by standard-compliant programs.)  MPI generates an error
  846.           message if this limit (or the default, if not set) is exceeded.
  847.  
  848.           Default:  16384
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  863.  
  864.  
  865.  
  866.      MMMMPPPPIIII____SSSSHHHHAAAARRRREEEEDDDD____VVVVEEEERRRRBBBBOOOOSSSSEEEE
  867.           Setting this variable allows for some diagnostic information
  868.           concerning messaging within a host to be displayed on stderr.
  869.  
  870.           Default:  Not enabled
  871.  
  872.      MMMMPPPPIIII____SSSSLLLLAAAAVVVVEEEE____DDDDEEEEBBBBUUUUGGGG____AAAATTTTTTTTAAAACCCCHHHH
  873.           Specifies the MPI process to be debugged. If you set
  874.           MMMMPPPPIIII____SSSSLLLLAAAAVVVVEEEE____DDDDEEEEBBBBUUUUGGGG____AAAATTTTTTTTAAAACCCCHHHH to NNNN, the MPI process with rank NNNN prints a
  875.           message during program startup, describing how to attach to it from
  876.           another window using the dbx debugger on IRIX or the gdb debugger on
  877.           Linux.  You must attach the debugger to process NNNN within ten seconds
  878.           of the printing of the message.
  879.  
  880.      MMMMPPPPIIII____SSSSTTTTAAAATTTTIIIICCCC____NNNNOOOO____MMMMAAAAPPPP (IRIX systems only)
  881.           Disables cross mapping of static memory between MPI processes.  This
  882.           variable can be set to reduce the significant MPI job startup and
  883.           shutdown time that can be observed for jobs involving more than 512
  884.           processors on a single IRIX host.  Note that setting this shell
  885.           variable disables certain internal MPI optimizations and also
  886.           restricts the usage of MPI-2 one-sided functions.  For more
  887.           information, see the MMMMPPPPIIII____WWWWiiiinnnn man page.
  888.  
  889.           Default:  Not enabled
  890.  
  891.      MMMMPPPPIIII____SSSSTTTTAAAATTTTSSSS
  892.           Enables printing of MPI internal statistics.  Each MPI process
  893.           prints statistics about the amount of data sent with MPI calls
  894.           during the MMMMPPPPIIII____FFFFiiiinnnnaaaalllliiiizzzzeeee process.  Data is sent to ssssttttddddeeeerrrrrrrr.  To prefix
  895.           the statistics messages with the MPI rank, use the ----pppp option on the
  896.           mmmmppppiiiirrrruuuunnnn command. For additional information, see the MMMMPPPPIIII____SSSSGGGGIIII____ssssttttaaaattttssss
  897.           man page.
  898.  
  899.           NOTE: Because the statistics-collection code is not thread-safe,
  900.           this variable should not be set if the program uses threads.
  901.  
  902.           Default:  Not enabled
  903.  
  904.      MMMMPPPPIIII____TTTTYYYYPPPPEEEE____DDDDEEEEPPPPTTTTHHHH
  905.           Sets the maximum number of nesting levels for derived data types.
  906.           (Might be required by standard-compliant programs.) The
  907.           MMMMPPPPIIII____TTTTYYYYPPPPEEEE____DDDDEEEEPPPPTTTTHHHH variable limits the maximum depth of derived data
  908.           types that an application can create.  MPI generates an error
  909.           message if this limit (or the default, if not set) is exceeded.
  910.  
  911.           Default:  8 levels
  912.  
  913.      MMMMPPPPIIII____TTTTYYYYPPPPEEEE____MMMMAAAAXXXX
  914.           Determines the maximum number of data types that can simultaneously
  915.           exist for any single MPI process. Use this variable to increase
  916.           internal default limits.  (This variable might be required by
  917.           standard-compliant programs.)  MPI generates an error message if
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  929.  
  930.  
  931.  
  932.           this limit (or the default, if not set) is exceeded.
  933.  
  934.           Default:  1024
  935.  
  936.      MMMMPPPPIIII____UUUUNNNNBBBBUUUUFFFFFFFFEEEERRRREEEEDDDD____SSSSTTTTDDDDIIIIOOOO
  937.           Normally, mmmmppppiiiirrrruuuunnnn line-buffers output received from the MPI processes
  938.           on both the ssssttttddddoooouuuutttt and ssssttttddddeeeerrrrrrrr standard IO streams.  This prevents
  939.           lines of text from different processes from possibly being merged
  940.           into one line, and allows use of the mmmmppppiiiirrrruuuunnnn ----pppprrrreeeeffffiiiixxxx option.
  941.  
  942.           Of course, there is a limit to the amount of buffer space that
  943.           mmmmppppiiiirrrruuuunnnn has available (currently, about 8,100 characters can appear
  944.           between new line characters per stream per process).  If more
  945.           characters are emitted before a new line character, the MPI program
  946.           will abort with an error message.
  947.  
  948.           Setting the MMMMPPPPIIII____UUUUNNNNBBBBUUUUFFFFFFFFEEEERRRREEEEDDDD____SSSSTTTTDDDDIIIIOOOO environment variable disables this
  949.           buffering.  This is useful, for example, when a program's rank 0
  950.           emits a series of periods over time to indicate progress of the
  951.           program. With buffering, the entire line of periods will be output
  952.           only when the new line character is seen.  Without buffering, each
  953.           period will be immediately displayed as soon as mmmmppppiiiirrrruuuunnnn receives it
  954.           from the MPI program.   (Note that the MPI program still needs to
  955.           call fffffffflllluuuusssshhhh(3) or FFFFLLLLUUUUSSSSHHHH((((111100001111)))) to flush the ssssttttddddoooouuuutttt buffer from the
  956.           application code.)
  957.  
  958.           Additionally, setting MMMMPPPPIIII____UUUUNNNNBBBBUUUUFFFFFFFFEEEERRRREEEEDDDD____SSSSTTTTDDDDIIIIOOOO allows an MPI program
  959.           that emits very long output lines to execute correctly.
  960.  
  961.           NOTE: If MMMMPPPPIIII____UUUUNNNNBBBBUUUUFFFFFFFFEEEERRRREEEEDDDD____SSSSTTTTDDDDIIIIOOOO is set, the mmmmppppiiiirrrruuuunnnn ----pppprrrreeeeffffiiiixxxx option is
  962.           ignored.
  963.  
  964.           Default:  Not set
  965.  
  966.      MMMMPPPPIIII____UUUUSSSSEEEE____GGGGMMMM  (IRIX systems only)
  967.           Requires the MPI library to use the Myrinet (GM protocol) OS bypass
  968.           driver as the interconnect when running across multiple hosts or
  969.           running with multiple binaries.  If a GM connection cannot be
  970.           established among all hosts in the MPI job, the job is terminated.
  971.  
  972.           For more information, see the section titled "Default Interconnect
  973.           Selection."
  974.  
  975.           Default:  Not set
  976.  
  977.      MMMMPPPPIIII____UUUUSSSSEEEE____GGGGSSSSNNNN (IRIX 6.5.12 systems or later)
  978.           Requires the MPI library to use the GSN (ST protocol) OS bypass
  979.           driver as the interconnect when running across multiple hosts or
  980.           running with multiple binaries.  If a GSN connection cannot be
  981.           established among all hosts in the MPI job, the job is terminated.
  982.  
  983.           GSN imposes a limit of one MPI process using GSN per CPU on a
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  995.  
  996.  
  997.  
  998.           system. For example, on a 128-CPU system, you can run multiple MPI
  999.           jobs, as long as the total number of MPI processes using the GSN
  1000.           bypass does not exceed 128.
  1001.  
  1002.           Once the maximum allowed MPI processes using GSN is reached,
  1003.           subsequent MPI jobs return an error to the user output, as in the
  1004.           following example:
  1005.  
  1006.                  MMMMPPPPIIII:::: CCCCoooouuuulllldddd nnnnooootttt ccccoooonnnnnnnneeeecccctttt aaaallllllll pppprrrroooocccceeeesssssssseeeessss ttttoooo GGGGSSSSNNNN aaaaddddaaaapppptttteeeerrrrssss.... TTTThhhheeee mmmmaaaaxxxxiiiimmmmuuuummmm
  1007.                       nnnnuuuummmmbbbbeeeerrrr ooooffff GGGGSSSSNNNN aaaaddddaaaapppptttteeeerrrr ccccoooonnnnnnnneeeeccccttttiiiioooonnnnssss ppppeeeerrrr ssssyyyysssstttteeeemmmm iiiissss nnnnoooorrrrmmmmaaaallllllllyyyy eeeeqqqquuuuaaaallll
  1008.                       ttttoooo tttthhhheeee nnnnuuuummmmbbbbeeeerrrr ooooffff CCCCPPPPUUUUssss oooonnnn tttthhhheeee ssssyyyysssstttteeeemmmm....
  1009.  
  1010.  
  1011.           If there are a few CPUs still available, but not enough to satisfy
  1012.           the entire MPI job, the error will still be issued and the MPI job
  1013.           terminated.
  1014.  
  1015.           For more information, see the section titled "Default Interconnect
  1016.           Selection."
  1017.  
  1018.           Default:  Not set
  1019.  
  1020.      MMMMPPPPIIII____UUUUSSSSEEEE____HHHHIIIIPPPPPPPPIIII  (IRIX systems only)
  1021.           Requires the MPI library to use the HiPPI 800 OS bypass driver as
  1022.           the interconnect when running across multiple hosts or running with
  1023.           multiple binaries.  If a HiPPI connection cannot be established
  1024.           among all hosts in the MPI job, the job is terminated.
  1025.  
  1026.           For more information, see the section titled "Default Interconnect
  1027.           Selection."
  1028.  
  1029.           Default:  Not set
  1030.  
  1031.      MMMMPPPPIIII____UUUUSSSSEEEE____TTTTCCCCPPPP
  1032.           Requires the MPI library to use the TCP/IP driver as the
  1033.           interconnect when running across multiple hosts or running with
  1034.           multiple binaries.
  1035.  
  1036.           For more information, see the section titled "Default Interconnect
  1037.           Selection."
  1038.  
  1039.           Default:  Not set
  1040.  
  1041.      MMMMPPPPIIII____UUUUSSSSEEEE____XXXXPPPPMMMMEEEEMMMM  (IRIX 6.5.13 systems or later)
  1042.           Requires the MPI library to use the XPMEM driver as the interconnect
  1043.           when running across multiple hosts or running with multiple
  1044.           binaries.  This driver allows MPI processes running on one partition
  1045.           to communicate with MPI processes on a different partition via the
  1046.           NUMAlink network.  The NUMAlink network is powered by block transfer
  1047.           engines (BTEs).  BTE data transfers do not require processor
  1048.           resources.
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  1061.  
  1062.  
  1063.  
  1064.           The XPMEM (cross partition) device driver is available only on
  1065.           Origin 3000 and Origin 300 systems running IRIX 6.5.13 or greater.
  1066.  
  1067.           NOTE: Due to possible MPI program hangs, you should not run MPI
  1068.           across partitions using the XPMEM driver on IRIX versions 6.5.13,
  1069.           6.5.14, or 6.5.15.  This problem has been resolved in IRIX version
  1070.           6.5.16.
  1071.  
  1072.           If all of the hosts specified on the mmmmppppiiiirrrruuuunnnn command do not reside in
  1073.           the same partitioned system, you can select one additional
  1074.           interconnect via the MMMMPPPPIIII____UUUUSSSSEEEE variables.  MPI communication between
  1075.           partitions will go through the XPMEM driver, and communication
  1076.           between non-partitioned hosts will go through the second
  1077.           interconnect.
  1078.  
  1079.           For more information, see the section titled "Default Interconnect
  1080.           Selection."
  1081.  
  1082.           Default:  Not set
  1083.  
  1084.      MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____OOOONNNN
  1085.           Enables the XPMEM single-copy enhancements for processes residing on
  1086.           the same host.
  1087.  
  1088.           The XPMEM enhancements allow single-copy transfers for basic
  1089.           predefined MPI data types from any sender data location, including
  1090.           the stack and private heap.  Without enabling XPMEM, single-copy is
  1091.           allowed only from data residing in the symmetric data, symmetric
  1092.           heap, or global heap.
  1093.  
  1094.           Both the MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____OOOONNNN and MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX variables must be set to
  1095.           enable these enhancements.  Both are disabled by default.
  1096.  
  1097.           If the following additional conditions are met, the block transfer
  1098.           engine (BTE) is invoked instead of bbbbccccooooppppyyyy, to provide increased
  1099.           bandwidth:
  1100.  
  1101.                *   Send and receive buffers are cache-aligned.
  1102.  
  1103.                *   Amount of data to transfer is greater than or equal to the
  1104.                    MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____TTTTHHHHRRRREEEESSSSHHHHOOOOLLLLDDDD value.
  1105.  
  1106.           NOTE:  The XPMEM driver does not support checkpoint/restart at this
  1107.           time. If you enable these XPMEM enhancements, you will not be able
  1108.           to checkpoint and restart your MPI job.
  1109.  
  1110.           The XPMEM single-copy enhancements require an Origin 3000 and Origin
  1111.           300 servers running IRIX release 6.5.15 or greater.
  1112.  
  1113.           Default: Not set
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  1127.  
  1128.  
  1129.  
  1130.      MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____TTTTHHHHRRRREEEESSSSHHHHOOOOLLLLDDDD
  1131.           Specifies a minimum message size, in bytes, for which single-copy
  1132.           messages between processes residing on the same host will be
  1133.           transferred via the BTE, instead of bbbbccccooooppppyyyy.  The following conditions
  1134.           must exist before the BTE transfer is invoked:
  1135.  
  1136.                *   Single-copy mode is enabled (MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX).
  1137.  
  1138.                *   XPMEM single-copy enhancements are enabled (MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____OOOONNNN).
  1139.  
  1140.                *   Send and receive buffers are cache-aligned.
  1141.  
  1142.                *   Amount of data to transfer is greater than or equal to the
  1143.                    MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____TTTTHHHHRRRREEEESSSSHHHHOOOOLLLLDDDD value.
  1144.  
  1145.           Default: 8192
  1146.  
  1147.      MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____VVVVEEEERRRRBBBBOOOOSSSSEEEE
  1148.           Setting this variable allows additional MPI diagnostic information
  1149.           to be printed in the standard output stream. This information
  1150.           contains details about the XPMEM connections.
  1151.  
  1152.           Default:  Not enabled
  1153.  
  1154.      PPPPAAAAGGGGEEEESSSSIIIIZZZZEEEE____DDDDAAAATTTTAAAA (IRIX systems only)
  1155.           Specifies the desired page size in kilobytes for program data areas.
  1156.           On Origin series systems, supported values include 16, 64, 256,
  1157.           1024, and 4096.  Specified values must be integer.
  1158.  
  1159.           NOTE:  Setting MMMMPPPPIIII____DDDDSSSSMMMM____OOOOFFFFFFFF  disables the ability to set the data
  1160.           pagesize via this shell variable.
  1161.  
  1162.           Default:  Not enabled
  1163.  
  1164.      PPPPAAAAGGGGEEEESSSSIIIIZZZZEEEE____SSSSTTTTAAAACCCCKKKK (IRIX systems only)
  1165.           Specifies the desired page size in kilobytes for program stack
  1166.           areas.  On Origin series systems, supported values include 16, 64,
  1167.           256, 1024, and 4096.  Specified values must be integer.
  1168.  
  1169.           NOTE:  Setting MMMMPPPPIIII____DDDDSSSSMMMM____OOOOFFFFFFFF  disables the ability to set the data
  1170.           page size via this shell variable.
  1171.  
  1172.           Default:  Not enabled
  1173.  
  1174.      SSSSMMMMAAAA____GGGGLLLLOOOOBBBBAAAALLLL____AAAALLLLLLLLOOOOCCCC (IRIX systems only)
  1175.           Activates the LIBSMA based global heap facility.  This variable is
  1176.           used by 64-bit MPI applications for certain internal optimizations,
  1177.           as well as support for the MMMMPPPPIIII____AAAAlllllllloooocccc____mmmmeeeemmmm function. For additional
  1178.           details, see the iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3) man page.
  1179.  
  1180.           Default: Not enabled
  1181.  
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  1193.  
  1194.  
  1195.  
  1196.      SSSSMMMMAAAA____GGGGLLLLOOOOBBBBAAAALLLL____HHHHEEEEAAAAPPPP____SSSSIIIIZZZZEEEE (IRIX systems only)
  1197.           For 64-bit applications, specifies the per processes size of the
  1198.           LIBSMA global heap in bytes.
  1199.  
  1200.           Default: 33554432 bytes
  1201.  
  1202.    UUUUssssiiiinnnngggg aaaa CCCCPPPPUUUU LLLLiiiisssstttt
  1203.      You can manually select CPUs to use for an MPI application by setting the
  1204.      MMMMPPPPIIII____DDDDSSSSMMMM____CCCCPPPPUUUULLLLIIIISSSSTTTT shell variable.  This setting is treated as a comma
  1205.      and/or hyphen delineated ordered list, specifying a mapping of MPI
  1206.      processes to CPUs.  If running across multiple hosts, the per host
  1207.      components of the CPU list are delineated by colons.  The shepherd
  1208.      process(es) and mmmmppppiiiirrrruuuunnnn are not included in this list. This feature will
  1209.      not be compatible with job migration features available in future IRIX
  1210.      releases. Examples:
  1211.  
  1212.                VVVVaaaalllluuuueeee          CCCCPPPPUUUU AAAAssssssssiiiiggggnnnnmmmmeeeennnntttt
  1213.  
  1214.                8888,,,,11116666,,,,33332222        Place three MPI processes on CPUs 8, 16, and 32.
  1215.  
  1216.                33332222,,,,11116666,,,,8888        Place the MPI process rank zero on CPU 32, one
  1217.                               on 16, and two on CPU 8.
  1218.  
  1219.                8888----11115555,,,,33332222----33339999     Place the MPI processes 0 through 7 on CPUs 8 to
  1220.                               15.  Place the MPI processes 8 through 15 on
  1221.                               CPUs 32 to 39.
  1222.  
  1223.                33339999----33332222,,,,8888----11115555     Place the MPI processes 0 through 7 on CPUs 39
  1224.                               to 32.  Place the MPI processes 8 through 15 on
  1225.                               CPUs 8 to 15.
  1226.  
  1227.                8888----11115555::::11116666----22223333     Place the MPI processes 0 through 7 on the first
  1228.                               host on CPUs 8 through 15.  Place MPI processes
  1229.                               8 through 15 on CPUs 16 to 23 on the second
  1230.                               host.
  1231.  
  1232.      Note that the process rank is the MMMMPPPPIIII____CCCCOOOOMMMMMMMM____WWWWOOOORRRRLLLLDDDD rank.  CPUs are
  1233.      associated with the ccccppppuuuunnnnuuuummmm values given in the hardware graph
  1234.      (hhhhwwwwggggrrrraaaapppphhhh(4)).
  1235.  
  1236.      The number of processors specified must equal the number of MPI processes
  1237.      (excluding the shepherd process) that will be used.  The number of colon
  1238.      delineated parts of the list must equal the number of hosts used for the
  1239.      MPI job. If an error occurs in processing the CPU list, the default
  1240.      placement policy is used.
  1241.  
  1242.      This feature should not be used with MMMMPPPPIIII jobs running in ssssppppaaaawwwwnnnn ccccaaaappppaaaabbbblllleeee
  1243.      mode.
  1244.  
  1245.    UUUUssssiiiinnnngggg MMMMPPPPIIII wwwwiiiitttthhhh OOOOppppeeeennnnMMMMPPPP
  1246.      Hybrid MPI/OpenMP applications might require special memory placement
  1247.      features to operate efficiently on cc-NUMA Origin servers.  A preliminary
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  1259.  
  1260.  
  1261.  
  1262.      method for realizing this memory placement is available.  The basic idea
  1263.      is to space out the MPI processes to accomodate the OpenMP threads
  1264.      associated with each MPI process.  In addition, assuming a particular
  1265.      ordering of library iiiinnnniiiitttt code (see the DDDDSSSSOOOO(5) man page), procedures are
  1266.      employed to insure that the OpenMP threads remain close to the parent MPI
  1267.      process. This type of placement has been found to improve the performance
  1268.      of some hybrid applications significantly when more than four OpenMP
  1269.      threads are used by each MPI process.
  1270.  
  1271.      To take partial advantage of this placement option, the following
  1272.      requirements must be met:
  1273.  
  1274.                *   The user must set the MMMMPPPPIIII____OOOOPPPPEEEENNNNMMMMPPPP____IIIINNNNTTTTEEEERRRROOOOPPPP shell variable
  1275.                    when running the application.
  1276.  
  1277.                *   The user must use a MIPSpro compiler and the ----mmmmpppp option to
  1278.                    compile the application.  This placement option is not
  1279.                    available with other compilers.
  1280.  
  1281.                *   The user must run the application on an Origin 300 or
  1282.                    Origin 3000 series server.
  1283.  
  1284.      To take full advantage of this placement option, the user must be able to
  1285.      link the application such that the lllliiiibbbbmmmmppppiiii....ssssoooo iiiinnnniiiitttt code is run before the
  1286.      lllliiiibbbbmmmmpppp....ssssoooo iiiinnnniiiitttt code.  This is done by linking the MPI/OpenMP application
  1287.      as follows:
  1288.  
  1289.           cccccccc ----66664444 ----mmmmpppp ccccoooommmmppppuuuutttteeee____mmmmpppp....cccc ----llllmmmmpppp ----llllmmmmppppiiii
  1290.           ffff77777777 ----66664444 ----mmmmpppp ccccoooommmmppppuuuutttteeee____mmmmpppp....ffff ----llllmmmmpppp ----llllmmmmppppiiii
  1291.           ffff99990000 ----66664444 ----mmmmpppp ccccoooommmmppppuuuutttteeee____mmmmpppp....ffff ----llllmmmmpppp ----llllmmmmppppiiii
  1292.           CCCCCCCC ----66664444 ----mmmmpppp ccccoooommmmppppuuuutttteeee____mmmmpppp....CCCC ----llllmmmmpppp ----llllmmmmppppiiii++++++++ ----llllmmmmppppiiii
  1293.  
  1294.      This linkage order insures that the lllliiiibbbbmmmmppppiiii....ssssoooo iiiinnnniiiitttt runs procedures for
  1295.      restricting the placement of OpenMP threads before the lllliiiibbbbmmmmpppp....ssssoooo iiiinnnniiiitttt is
  1296.      run.  Note that this is not the default linkage if only the ----mmmmpppp option is
  1297.      specified on the link line.
  1298.  
  1299.      You can use an additional memory placement feature for hybrid MPI/OpenMP
  1300.      applications by using the MMMMPPPPIIII____DDDDSSSSMMMM____PPPPLLLLAAAACCCCEEEEMMMMEEEENNNNTTTT shell variable. Specification
  1301.      of a tttthhhhrrrreeeeaaaaddddrrrroooouuuunnnnddddrrrroooobbbbiiiinnnn policy results in the parent MPI process stack,
  1302.      data, and heap memory segments being spread across the nodes on which the
  1303.      child OpenMP threads are running.  For more information, see the
  1304.      EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS section of this man page.
  1305.  
  1306.      MPI reserves nodes for this hybrid placement model based on the number of
  1307.      MPI processes and the number of OpenMP threads per process, rounded up to
  1308.      the nearest multiple of 4.  For instance, if 6 OpenMP threads per MPI
  1309.      process are going to be used for a 4 MPI process job, MPI will request a
  1310.      placement for 32 (4 X 8) CPUs on the host machine.  You should take this
  1311.      into account when requesting resources in a batch environment or when
  1312.      using ccccppppuuuusssseeeettttssss.  In this implementation, it is assumed that all MPI
  1313.      processes start with the same number of OpenMP threads, as specified by
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. MMMMPPPPIIII((((1111))))                                                                  MMMMPPPPIIII((((1111))))
  1325.  
  1326.  
  1327.  
  1328.      the OOOOMMMMPPPP____NNNNUUUUMMMM____TTTTHHHHRRRREEEEAAAADDDDSSSS or equivalent shell variable at job startup.
  1329.  
  1330.      NOTE:  This placement is not recommended when setting ____DDDDSSSSMMMM____PPPPPPPPMMMM to a non-
  1331.      default value (for more information, see ppppeeee____eeeennnnvvvviiiirrrroooonnnn(5)). This placement
  1332.      is also not recommended when running on a host with partially populated
  1333.      nodes.  Also, if you are using MMMMPPPPIIII____DDDDSSSSMMMM____MMMMUUUUSSSSTTTTRRRRUUUUNNNN, it is important to also
  1334.      set ____DDDDSSSSMMMM____MMMMUUUUSSSSTTTTRRRRUUUUNNNN to properly schedule the OpenMP threads.
  1335.  
  1336. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1337.      mmmmppppiiiirrrruuuunnnn(1), sssshhhhmmmmeeeemmmm____iiiinnnnttttrrrroooo(1)
  1338.  
  1339.      aaaarrrrrrrraaaayyyydddd(1M)
  1340.  
  1341.      MMMMPPPPIIII____BBBBuuuuffffffffeeeerrrr____aaaattttttttaaaacccchhhh(3), MMMMPPPPIIII____BBBBuuuuffffffffeeeerrrr____ddddeeeettttaaaacccchhhh(3), MMMMPPPPIIII____IIIInnnniiiitttt(3), MMMMPPPPIIII____IIIIOOOO(3)
  1342.  
  1343.      aaaarrrrrrrraaaayyyydddd....ccccoooonnnnffff(4)
  1344.  
  1345.      aaaarrrrrrrraaaayyyy____sssseeeerrrrvvvviiiicccceeeessss(5)
  1346.  
  1347.      For more information about using MPI, including optimization, see the
  1348.      _M_e_s_s_a_g_e _P_a_s_s_i_n_g _T_o_o_l_k_i_t: _M_P_I _P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l. You can access this
  1349.      manual online at hhhhttttttttpppp::::////////tttteeeecccchhhhppppuuuubbbbssss....ssssggggiiii....ccccoooommmm.
  1350.  
  1351.      Man pages exist for every MPI subroutine and function, as well as for the
  1352.      mmmmppppiiiirrrruuuunnnn(1) command.  Additional online information is available at
  1353.      hhhhttttttttpppp::::////////wwwwwwwwwwww....mmmmccccssss....aaaannnnllll....ggggoooovvvv////mmmmppppiiii, including a hypertext version of the
  1354.      standard, information on other libraries that use MPI, and pointers to
  1355.      other MPI resources.
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.